package com.palominocia.capa_datos_nodo.modelo.opciones;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
import org.springframework.roo.addon.tostring.RooToString;

import com.palominocia.capa_datos_nodo.modelo.seguridad.Perfil;

import javax.persistence.ManyToOne;

import java.util.Date;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.springframework.format.annotation.DateTimeFormat;

import com.palominocia.capa_datos_nodo.modelo.seguridad.Usuario;

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class OpcionesPerfil {

    /**
     */
    @ManyToOne
    private Perfil codPerfil;

    /**
     */
    @ManyToOne
    private Opciones codOpcion;

    /**
     */
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date fechaCreacion;

    /**
     */
    @ManyToOne
    private Usuario usuarioCreacion;

    @Transient
	public static OpcionesPerfil findOpcionPerfil(Opciones opciones, Usuario user) {
    	OpcionesPerfil opci=null;
    	try {
    		opci=entityManager().createQuery("SELECT o FROM OpcionesPerfil o WHERE o.codOpcion =:codOpcion AND o.usuarioCreacion=:usuarioCreacion",OpcionesPerfil.class)
    				.setParameter("codOpcion", opciones)
    				.setParameter("usuarioCreacion", user)
    				.getSingleResult();
		} catch (Exception e) {
			e.printStackTrace();
			opci=null;
		}
		return opci;
	}
}
